Classe de conexão com banco de dados PostGreSQL [golfinho/Elefante]
Publicado por Emiliano Eloi Silva Barbosa 04/04/2007
[ Hits: 11.981 ]
Homepage: http://emilianoeloi.com.br
Tradução do script php de leo genilhu:
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=257
Classe de conexão com banco de dados PostGreSQL, com métodos de inserção e atualização de query's.
Ótimo para quem esta iniciando OOP.
class database{
var $db_HOST = "";
var $db_PORT = "";
var $db_USER = "";
var $db_PASS = "";
var $db = "";
var $CONST_ERRO = "erro ao conectar no nosso banco";
var $dbc;
var $last_id;
function database($db, $user, $pass="nopass",$host="localhost", $port=5432){
$this->db_HOST=$host;
$this->db_PORT=$port;
$this->db_USER=$user;
$this->db_PASS=$pass;
$this->db=$db;
$this->connect_db();
}
function connect_db(){
$connect_string = "host=".$this->db_HOST." port=".$this->db_PORT." user=".$this->db_USER." password=".$this->db_PASS." dbname=".$this->db;
$this->dbc = pg_connect($connect_string);
return $dbc;
}
function delete_db($table,$id){
$Campo_id = $this->getPrimaryKey($table);
$tmp="delete from $table where $Campo_id='$id'";
$sts = pg_query($this->dbc,$tmp) or die($this->CONST_ERRO . pg_last_error());
return $sts ;
}
function close_db (){
pg_close($this->dbc);
}
function insere_db($campos,$valores,$tab){
$inicio="INSERT INTO $tab(";
$meio=") VALUES (";
$fim=")";
$valor = sizeof($campos);
$strc="";
for($i=0;$i <= ($valor-1);$i++){
$strc.="$campos[$i]";
if($i != ($valor-1)){
$strc.=",";
}
}
$strv="";
for($k=0;$k <= ($valor-1);$k++){
$strv.="'$valores[$k]'";
if($k != ($valor-1)){
$strv.=",";
}
}
$insere="$inicio$strc$meio$strv$fim";
$this->query_db($insere);
$this->setLastID($tab);
}
function query_db($sql){
return pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error());
}
function reg_db($table){
$tmp="select * from $table";
$sts = pg_query($this->dbc,$tmp) or die($this->CONST_ERRO . pg_last_error());
$num = pg_num_rows($sts);
return($num);
}
function getPrimaryKey($table){
$sql = "select indexdef from pg_indexes where tablename = '$table' and indexname LIKE '%pkey';";
$res = pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error());
$resultado = pg_fetch_result($res, 'indexdef');
$arr_temp = explode("(",$resultado);
$arr_temp2 = $arr_temp[1];
$arr_temp = explode(")",$arr_temp2);
return $arr_temp[0];
}
function setLastID($table){
$sequence_name = $table . "_" . $this->getPrimaryKey($table) . "_seq";
$sql = "select currval('$sequence_name') AS lastid";
$res = pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error());
$this->last_id = pg_fetch_result($res,'lastid');
}
function id_db(){
return $this->last_id;
}
};
PHP5 gravando, recuperando e deletando imagens no banco de dados MYSQL
Gravando conteudo de uma caixa de texto no banco de dados [golfinho/Elefante]
protegendo suas páginas de maneira eficiente
Passe a data no formato aaaa-dd-mm e retornará dd/mm/aaaa.
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)
Secure boot, artigo interessante, nada técnico. (5)
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)









